home *** CD-ROM | disk | FTP | other *** search
/ Aminet 34 / Aminet 34 (2000)(Schatztruhe)[!][Dec 1999].iso / Aminet / util / libs / DateLib.lha / DateLib / Developer / C / include / clib / date_protos.h
Encoding:
C/C++ Source or Header  |  1999-06-13  |  16.6 KB  |  152 lines

  1. /*
  2. **
  3. ** Copyright © 1997-1999 Dipl.-Inform. Kai Hofmann. All rights reserved.
  4. ** Registered Amiga shared library!
  5. **
  6. ** $VER: date_protos.h 33.310 (13.06.99)
  7. */
  8.  
  9.  #ifndef CLIB_DATE_PROTOS_H
  10.   #define CLIB_DATE_PROTOS_H
  11.  
  12.   #ifndef EXEC_TYPES_H
  13.    #include <exec/types.h>
  14.   #endif
  15.   #ifndef LIBRARIES_DATE_H
  16.    #include <libraries/date.h>
  17.   #endif
  18.  
  19.   bool date_JulianLeapYear(const long year);
  20.   bool date_GregorianLeapYear(const long year);
  21.   bool date_HeisLeapYear(const long year);
  22.   unsigned short date_JulianMonthDays(const unsigned short month, const long year);
  23.   unsigned short date_GregorianMonthDays(const unsigned short month, const long year);
  24.   unsigned short date_HeisMonthDays(const unsigned short month, const long year);
  25.   unsigned short date_JulianYearDays(const long year);
  26.   unsigned short date_GregorianYearDays(const long year);
  27.   unsigned short date_HeisYearDays(const long year);
  28.   short date_Compare2Dates(const unsigned short day1, const unsigned short month1, const long year1, const unsigned short day2, const unsigned short month2, const long year2);
  29.   long date_JulianDayDiff(const unsigned short day1, unsigned short month1, long year1, const unsigned short day2, unsigned short month2, long year2);
  30.   long date_GregorianDayDiff(const unsigned short day1, unsigned short month1, long year1, const unsigned short day2, unsigned short month2, long year2);
  31.   long date_HeisDayDiff(const unsigned short day1, unsigned short month1, long year1, const unsigned short day2, unsigned short month2, long year2);
  32.   date_Weekdays date_JulianWeekday(const unsigned short day, unsigned short month, long year);
  33.   date_Weekdays date_GregorianWeekday(const unsigned short day, unsigned short month, long year);
  34.   date_Weekdays date_HeisWeekday(const unsigned short day, unsigned short month, long year);
  35.   unsigned short date_JulianDaysBeforeWeekday(const unsigned short day, const unsigned short month, const long year, const date_Weekdays weekday);
  36.   unsigned short date_GregorianDaysBeforeWeekday(const unsigned short day, const unsigned short month, const long year, const date_Weekdays weekday);
  37.   unsigned short date_HeisDaysBeforeWeekday(const unsigned short day, const unsigned short month, const long year, const date_Weekdays weekday);
  38.   unsigned short date_JulianDaysAfterWeekday(const unsigned short day, const unsigned short month, const long year, const date_Weekdays weekday);
  39.   unsigned short date_GregorianDaysAfterWeekday(const unsigned short day, const unsigned short month, const long year, const date_Weekdays weekday);
  40.   unsigned short date_HeisDaysAfterWeekday(const unsigned short day, const unsigned short month, const long year, const date_Weekdays weekday);
  41.   unsigned long date_JYearToScaliger(const long year);
  42.   unsigned long date_GYearToScaliger(const long year);
  43.   unsigned long date_HYearToScaliger(const long year);
  44.   long date_ScaligerYearToJ(const unsigned long syear);
  45.   long date_ScaligerYearToG(const unsigned long syear);
  46.   long date_ScaligerYearToH(const unsigned long syear);
  47.   unsigned long date_JSYearToJD(const unsigned long syear);
  48.   unsigned long date_GSYearToJD(const unsigned long syear);
  49.   unsigned long date_HSYearToJD(const unsigned long syear);
  50.   unsigned long date_JDtoMJD(const unsigned long jd);
  51.   unsigned long date_MJDtoJD(const unsigned long mjd);
  52.   unsigned long date_JulianToJD(const unsigned short day, const unsigned short month, const long year);
  53.   unsigned long date_GregorianToJD(const unsigned short day, const unsigned short month, const long year);
  54.   unsigned long date_HeisToJD(const unsigned short day, const unsigned short month, const long year);
  55.   unsigned short date_GregorianMoonAge(const unsigned short day, const unsigned short month, const long year);
  56.   void date_JulianEaster(const long year, unsigned short *const dday, unsigned short *const dmonth);
  57.   void date_GregorianEaster(const long year, unsigned short *const dday, unsigned short *const dmonth);
  58.   void date_HeisEaster(const long year, unsigned short *const dday, unsigned short *const dmonth);
  59.   unsigned short date_JulianWeek(const unsigned short day, const unsigned short month, const long year);
  60.   unsigned short date_GregorianWeek(const unsigned short day, const unsigned short month, const long year);
  61.   unsigned short date_HeisWeek(const unsigned short day, const unsigned short month, const long year);
  62.   unsigned short date_WeekdayText(const date_Weekdays wday, char *const wtext, const date_Languages lang);
  63.   unsigned short date_MonthText(const unsigned short month, char *const mtext, const date_Languages lang);
  64.   unsigned short date_WeekdayShortText(const date_Weekdays wday, char *const wtext, const date_Languages lang);
  65.   unsigned short date_MonthShortText(const unsigned short month, char *const mtext, const date_Languages lang);
  66.   void date_DateText(const date_DateTexts text, char *const mtext, const date_Languages lang, const date_WordClass wc);
  67.   void date_JDToJulian(const unsigned long jd, unsigned short *const day, unsigned short *const month, long *const year);
  68.   void date_JDToGregorian(const unsigned long jd, unsigned short *const day, unsigned short *const month, long *const year);
  69.   void date_JDToHeis(const unsigned long jd, unsigned short *const day, unsigned short *const month, long *const year);
  70.   unsigned long date_GregorianMoonPhase(const unsigned short day, const unsigned short month, const long year, const date_MoonPhases phase);
  71.   bool date_ValidJulianDate(const unsigned short day, const unsigned short month, const long year);
  72.   bool date_ValidGregorianDate(const unsigned short day, const unsigned short month, const long year);
  73.   bool date_ValidHeisDate(const unsigned short day, const unsigned short month, const long year);
  74.   void date_SetCountry(const date_Countries country);
  75.   void date_SetFirstWeekday(const date_Weekdays weekday);
  76.   long date_SupplementCentury(const unsigned short year, const long actualyear);
  77.   unsigned short date_JulianLastMonthDay(const unsigned short month, const long year);
  78.   unsigned short date_GregorianLastMonthDay(const unsigned short month, const long year);
  79.   unsigned short date_HeisLastMonthDay(const unsigned short month, const long year);
  80.   void date_NextValidJulianDate(const unsigned short day, const unsigned short month, const long year, unsigned short *const dday, unsigned short *const dmonth, long *const dyear);
  81.   void date_NextValidGregorianDate(const unsigned short day, const unsigned short month, const long year, unsigned short *const dday, unsigned short *const dmonth, long *const dyear);
  82.   void date_NextValidHeisDate(const unsigned short day, const unsigned short month, const long year, unsigned short *const dday, unsigned short *const dmonth, long *const dyear);
  83.   void date_PreviousValidJulianDate(const unsigned short day, const unsigned short month, const long year, unsigned short *const dday, unsigned short *const dmonth, long *const dyear);
  84.   void date_PreviousValidGregorianDate(const unsigned short day, const unsigned short month, const long year, unsigned short *const dday, unsigned short *const dmonth, long *const dyear);
  85.   void date_PreviousValidHeisDate(const unsigned short day, const unsigned short month, const long year, unsigned short *const dday, unsigned short *const dmonth, long *const dyear);
  86.   void date_FormatDate(const char *const fmt, const unsigned short day, const unsigned short month, const long year, const date_Languages lang, char *const tstr);
  87.   short date_ParseDate(const char *const fmt, const char *const dstr, const date_Languages lang, const date_Calendars calendar, const unsigned long actualjd, unsigned short *const day, unsigned short *const month, long *const year, char *const pfmt, date_Languages *const plang);
  88.   void date_JulianWWtoDM(const date_Weekdays weekday, const unsigned short week, const long year, unsigned short *const dday, unsigned short *const dmonth, long *const dyear);
  89.   void date_GregorianWWtoDM(const date_Weekdays weekday, const unsigned short week, const long year, unsigned short *const dday, unsigned short *const dmonth, long *const dyear);
  90.   void date_HeisWWtoDM(const date_Weekdays weekday, const unsigned short week, const long year, unsigned short *const dday, unsigned short *const dmonth, long *const dyear);
  91.   long date_DateToNum(const unsigned short day, const unsigned short month, const long year);
  92.   void date_NumToDate(long num, unsigned short *const day, unsigned short *const month, long *const year);
  93.   void date_JulianDiffDateRange(const unsigned short day, const unsigned short month, const long year, long days, long months, long years, unsigned short *const dday, unsigned short *const dmonth, long *const dyear);
  94.   void date_GregorianDiffDateRange(const unsigned short day, const unsigned short month, const long year, long days, long months, long years, unsigned short *const dday, unsigned short *const dmonth, long *const dyear);
  95.   void date_HeisDiffDateRange(const unsigned short day, const unsigned short month, const long year, long days, long months, long years, unsigned short *const dday, unsigned short *const dmonth, long *const dyear);
  96.   void date_JulianRangeDiff(unsigned short day1, unsigned short month1, long year1, unsigned short day2, unsigned short month2, long year2, short *const days, short *const months, long *const years);
  97.   void date_GregorianRangeDiff(unsigned short day1, unsigned short month1, long year1, unsigned short day2, unsigned short month2, long year2, short *const days, short *const months, long *const years);
  98.   void date_HeisRangeDiff(unsigned short day1, unsigned short month1, long year1, unsigned short day2, unsigned short month2, long year2, short *const days, short *const months, long *const years);
  99.  
  100.   bool date_LeapYear(const long year, const date_Calendars calendar);
  101.   unsigned short date_MonthDays(const unsigned short month, const long year, const date_Calendars calendar);
  102.   unsigned short date_LastMonthDay(const unsigned short month, const long year, const date_Calendars calendar);
  103.   unsigned short date_YearDays(const long year, const date_Calendars calendar);
  104.   long date_DayDiff(const unsigned short day1, unsigned short month1, long year1, const unsigned short day2, unsigned short month2, long year2, const date_Calendars calendar);
  105.   date_Weekdays date_Weekday(const unsigned short day, unsigned short month, long year, const date_Calendars calendar);
  106.   unsigned short date_DaysBeforeWeekday(const unsigned short day, const unsigned short month, const long year, const date_Weekdays weekday, const date_Calendars calendar);
  107.   unsigned short date_DaysAfterWeekday(const unsigned short day, const unsigned short month, const long year, const date_Weekdays weekday, const date_Calendars calendar);
  108.   unsigned long date_YearToScaliger(const long year, const date_Calendars calendar);
  109.   long date_ScaligerYearToYear(const unsigned long syear, const date_Calendars calendar);
  110.   unsigned long date_SYearToJD(const unsigned long syear, const date_Calendars calendar);
  111.   unsigned long date_DateToJD(const unsigned short day, const unsigned short month, const long year, const date_Calendars calendar);
  112.   void date_Easter(const long year, unsigned short *const dday, unsigned short *const dmonth, const date_Calendars calendar);
  113.   unsigned short date_Week(const unsigned short day, const unsigned short month, const long year, const date_Calendars calendar);
  114.   void date_JDToDate(const unsigned long jd, unsigned short *const day, unsigned short *const month, long *const year, const date_Calendars calendar);
  115.   bool date_ValidDate(const unsigned short day, const unsigned short month, const long year, const date_Calendars calendar);
  116.   void date_NextValidDate(const unsigned short day, const unsigned short month, const long year, unsigned short *const dday, unsigned short *const dmonth, long *const dyear, const date_Calendars calendar);
  117.   void date_PreviousValidDate(const unsigned short day, const unsigned short month, const long year, unsigned short *const dday, unsigned short *const dmonth, long *const dyear, const date_Calendars calendar);
  118.   void date_WWtoDM(const date_Weekdays weekday, const unsigned short week, const long year, unsigned short *const dday, unsigned short *const dmonth, long *const dyear, const date_Calendars calendar);
  119.   void date_DiffDateRange(const unsigned short day, const unsigned short month, const long year, long days, long months, long years, unsigned short *const dday, unsigned short *const dmonth, long *const dyear, const date_Calendars calendar);
  120.   void date_RangeDiff(unsigned short day1, unsigned short month1, long year1, unsigned short day2, unsigned short month2, long year2, short *const days, short *const months, long *const years, const date_Calendars calendar);
  121.  
  122.   float time_TimeToJD(const unsigned short hour, const unsigned short min, const unsigned short sec);
  123.   void time_JDToTime(float jd, unsigned short *const rhour, unsigned short *const rmin, unsigned short *const rsec);
  124.   short time_TimeZoneFactor(const short degree);
  125.   long time_LMT(const unsigned long secs, const float meridiandegree, const float posdegree);
  126.   unsigned long time_TimeToSec(const unsigned short hour, const unsigned short min, const unsigned short sec);
  127.   void time_SecToTime(unsigned long secs, unsigned short *const hour, unsigned short *const min, unsigned short *const sec);
  128.   short time_Compare2Times(const unsigned short hour1, const unsigned short min1, const unsigned short sec1, const unsigned short hour2, const unsigned short min2, const unsigned short sec2);
  129.   bool time_ValidTime(const unsigned short hour, const unsigned short min, const unsigned short sec);
  130.   long time_TimeDiff(const unsigned short hour1, const unsigned short min1, const unsigned short sec1, const unsigned short hour2, const unsigned short min2, const unsigned short sec2);
  131.   void time_DiffTime(const unsigned short hour, const unsigned short min, const unsigned short sec, long diffsecs, unsigned short *const rhour, unsigned short *const rmin, unsigned short *const rsec);
  132.   void time_FormatTime(const char *const fmt, const time_ChangeDay ChangeDay, const unsigned short ChangeHour, const bool DST, const unsigned short hour, const unsigned short min, const unsigned short sec, const short zonemin, char *const tstr);
  133.   short time_ParseTime(const char *const fmt, const char *const tstr, time_ChangeDay ChangeDay, unsigned short ChangeHour, bool *const DST, unsigned short *const hour, unsigned short *const min, unsigned short *const sec, short *const zonemin, char *const pfmt);
  134.   unsigned long time_TimeToNum(const unsigned short hour, const unsigned short min, const unsigned short sec);
  135.   void time_NumToTime(unsigned long num, unsigned short *const rhour, unsigned short *const rmin, unsigned short *const rsec);
  136.  
  137.   void datetime_LocalToGMT(const unsigned long ljd, const unsigned long lsecs, const bool DST, const short zonemin, unsigned long *const gjd, unsigned long *const gsecs);
  138.   void datetime_GMTToLocal(const unsigned long gjd, const unsigned long gsecs, const short zonemin, const time_ChangeDay ChangePrevDay, const time_ChangeDay ChangeDay, const time_ChangeDay ChangeNextDay, const unsigned short ChangeHour, unsigned long *const ljd, unsigned long *const lsecs, bool *const DST);
  139.  
  140.   /* This are old routines that should not longer be used! They appear here only for compatibility to old releases! */
  141.   bool date_JulianDaySmaller(const unsigned short day1, const unsigned short month1, const long year1, const unsigned short day2, const unsigned short month2, const long year2);
  142.   bool date_GregorianDaySmaller(const unsigned short day1, const unsigned short month1, const long year1, const unsigned short day2, const unsigned short month2, const long year2);
  143.   bool date_HeisDaySmaller(const unsigned short day1, const unsigned short month1, const long year1, const unsigned short day2, const unsigned short month2, const long year2);
  144.   bool date_JulianDayGreater(const unsigned short day1, const unsigned short month1, const long year1, const unsigned short day2, const unsigned short month2, const long year2);
  145.   bool date_GregorianDayGreater(const unsigned short day1, const unsigned short month1, const long year1, const unsigned short day2, const unsigned short month2, const long year2);
  146.   bool date_HeisDayGreater(const unsigned short day1, const unsigned short month1, const long year1, const unsigned short day2, const unsigned short month2, const long year2);
  147.   void date_JulianDiffDate(const unsigned short day, const unsigned short month, const long year, long days, unsigned short *const dday, unsigned short *const dmonth, long *const dyear);
  148.   void date_GregorianDiffDate(const unsigned short day, const unsigned short month, const long year, long days, unsigned short *const dday, unsigned short *const dmonth, long *const dyear);
  149.   void date_HeisDiffDate(const unsigned short day, const unsigned short month, const long year, long days, unsigned short *const dday, unsigned short *const dmonth, long *const dyear);
  150.  
  151.  #endif     /* CLIB_DATE_PROTOS_H */
  152.